/*
 * @Descripttion:
 * @Author: ziwei
 * @Date: 2022-07-04 17:17:06
 * @LastEditors: ziwei
 * @LastEditTime: 2022-07-04 17:35:16
 */
export {};
class Father {
  father: string;
}
class Child1 extends Father {
  child: string;
}
class Child2 extends Father {
  child: string;
}
interface Calculate {
  <T extends number>(a: T, b: T): T;
}
//不能将类型“number”分配给类型“T”。
//"number" 可赋给 "T" 类型的约束，但可以使用约束 "number" 的其他子类型实例化 "T"
let sum: Calculate = function <T extends number>(a: T, b: T): T {
  return a + b; //TODO
};
sum(1, 2);

//接口对象比较属性多和少
//联合类型 比较量的多和少
